Skip to content

TLCMC: non-strict BFS, BFS level tracking, state constraints, and refinement to MCReachability.#204

Merged
lemmy merged 3 commits intomasterfrom
mku-TLCMultipleWorkers
Apr 7, 2026
Merged

TLCMC: non-strict BFS, BFS level tracking, state constraints, and refinement to MCReachability.#204
lemmy merged 3 commits intomasterfrom
mku-TLCMultipleWorkers

Conversation

@lemmy
Copy link
Copy Markdown
Member

@lemmy lemmy commented Apr 3, 2026

TLCMC: non-strict BFS, BFS level tracking, state constraints, and refinement to MCReachability.

Parameterize TLCMC with constant K (number of workers): dequeue any of the first Min(K, Len(S)) elements from the frontier instead of always Head(S), modeling TLC's degraded BFS with multiple workers. Track BFS level of each explored state in new variable L (distance from an initial state). Add Constraint(s, l) predicate to prune successors from exploration based on state and level. Inline Min and Remove from CommunityModules to keep the spec self-contained.

Introduce MCReachability, a high-level spec with set-based frontier S and non-deterministic exploration order. TLCMC refines MCReachability via refinement mapping (S |-> SeqToSet(S), done |-> counterexample # <<>>, T augmented with pending successors).

Extract graph definitions into StateGraphs module; refactor TestGraphs and add TestMCReachability as test harnesses. Select graph and worker count via IOEnv to run all test configurations from a single .cfg file without per-graph TLC invocations.

[Feature]

This comment was marked as resolved.

@lemmy lemmy force-pushed the mku-TLCMultipleWorkers branch 4 times, most recently from 6fc1775 to 98695d4 Compare April 6, 2026 20:07
@lemmy lemmy requested a review from Copilot April 6, 2026 20:08
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lemmy lemmy force-pushed the mku-TLCMultipleWorkers branch 4 times, most recently from d29e8b8 to 63467fd Compare April 6, 2026 23:18
lemmy added 3 commits April 6, 2026 16:43
and refinement to MCReachability.

Parameterize TLCMC with constant K (number of workers): dequeue any of
the first Min(K, Len(S)) elements from the frontier instead of always
Head(S), modeling TLC's degraded BFS with multiple workers.  Track BFS
level of each explored state in new variable L (distance from an initial
state).  Add Constraint(s, l) predicate to prune successors from
exploration based on state and level. Inline Min from CommunityModules
to keep the spec/example self-contained.

Introduce MCReachability, a high-level spec with set-based frontier S
and non-deterministic exploration order.  TLCMC refines MCReachability
via a refinement mapping.

Extract graph definitions into StateGraphs module; refactor TestGraphs
and add TestMCReachability as test harnesses.  Select graph and worker
count via IOEnv to run all test configurations from a single .cfg file
without per-graph TLC invocations.

[Feature]

Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
Strengthen the Live property by asserting over entire traces rather than
only the final state. For K = 1, further restrict the property to
require that the trace belongs to the subset of shortest traces.

[Feature]

Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
Introduce a new graph definition for the DieHard puzzle,
including 101 states, initial states, actions, and counterexamples.
Update the TestCase to support this new graph configuration.

[Feature]

Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
@lemmy lemmy force-pushed the mku-TLCMultipleWorkers branch from 63467fd to 6fc4463 Compare April 6, 2026 23:43
@lemmy lemmy marked this pull request as ready for review April 7, 2026 00:19
@lemmy lemmy merged commit b05b8ff into master Apr 7, 2026
6 of 7 checks passed
@lemmy lemmy deleted the mku-TLCMultipleWorkers branch April 7, 2026 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants